home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 05.zip
/
BS1 part 5
/
ANC_UTULITYS_16.adf
/
arclist
/
asm1.arc
/
SprMovM.S
< prev
Wrap
Text File
|
1988-09-21
|
2KB
|
141 lines
start:
lea $dff000,a0
move.w #$1200,$100(a0)
move.w #$0000,$108(a0)
move.w #$0000,$102(a0)
move.w #$0024,$104(a0)
move.w #$0038,$092(a0)
move.w #$00d0,$094(a0)
move.w #$2c81,$08e(a0)
move.w #$f4c1,$090(a0)
move.w #$0008,$180(a0)
move.w #$0000,$182(a0)
move.w #$0ff0,$1a2(a0)
move.w #$00ff,$1a4(a0)
move.w #$0f0f,$1a6(a0)
move.l #$40000,a3
move.l #$41000,a4
move.l #$50000,a6
copy:
lea sprite,a2
move.l a6,a1
bsr sprloop
move.w #$0000,100(a6)
add.l #$100,a6
cmp.l #$50800,a6
bne.s copy
bsr clr
lo:
move.l #$50000,a1
bsr vloop
loo:
move.l a1,a5
bsr moves
add.l #2,a3
add.l #2,a4
add.l #$00000100,a1
cmp.l #$00050800,a1
bne.s loo
sub.l #15,a3
sub.l #15,a4
cmp.l #$00040fff,a3
bne.s lo
rts
sprloop:
move.l (a2)+,(a1)+
bne.s sprloop
rts
clr:
move.l #$42000,a1
move.w #2000,d0
floop:
move.l #-1,(a1)+
subq.w #1,d0
bne.s floop
move.w #$03a0,$dff096
move.l #copperl,$dff080
move.w #$ffff,$dff088
move.w #$83a0,$dff096
rts
vloop:
move.w $dff01e,d6
and.w #$0010,d6
beq.s vloop
move.w #$0010,$dff09c
rts
moves:
move.b (a3),d0
move.b (a4),d1
move.b 100(a5),d2
move.b 101(a5),d3
sub.b d0,d2
sub.b d1,d3
bmi.s neg
btst #0,d3
beq.s aa
btst #0,3(a5)
beq.s cc
bra.s ee
cc:
addq.b #2,d3
ee:
eor.b #$01,3(a5)
aa:
lsr.b #1,d3
sub.b d3,1(a5)
bra.s loop1
neg:
move.b #$00,d5
sub.b d3,d5
btst #0,d5
beq.s bb
btst #0,3(a5)
beq.s dd
addq.b #$1,d5
dd:
eor.b #$01,3(a5)
bb:
lsr.b #1,d5
add.b d5,1(a5)
bra.s loop1
loop1:
move.b d0,d4
move.b d4,(a5)
move.b (a5),d4
add.b #6,d4
move.b d4,2(a5)
clr.w d3
move.b d0,100(a5)
move.b d1,101(a5)
rts
copperl:
dc.w $00e0,$0004,$00e2,$2000
dc.w $0100,$1200,$008e,$2c81
dc.w $0090,$f4c1,$0092,$0038
dc.w $0094,$00d0,$0120,$0005
dc.w $0122,$0000,$0124,$0005
dc.w $0126,$0100,$0128,$0005
dc.w $012a,$0200,$012c,$0005
dc.w $012e,$0300,$0130,$0005
dc.w $0132,$0400,$0134,$0005
dc.w $0136,$0500,$0138,$0005
dc.w $013a,$0600,$013c,$0005
dc.w $013e,$0700,$ff01,$ff00
dc.w $009c,$8010
dc.w $ffff,$fffe
sprite:
dc.w $6d60,$7200
dc.w $0990,$07e0
dc.w $13c8,$0ff0
dc.w $23c4,$1ff8
dc.w $13c8,$0ff0
dc.w $0990,$07e0
dc.w $0000,$0000